package com.starsoft.quant.bean;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;

import org.hibernate.annotations.GenericGenerator;

/**
 * QuantModelParam entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "quant_model_param")
public class QuantModelParam implements java.io.Serializable {

	// Fields

	private Integer id;
	private String modelCode;
	private String paramCode;
	private String paramName;
	private String defaultValue;
	private Boolean configurable;

	// Constructors

	/** default constructor */
	public QuantModelParam() {
	}

	/** full constructor */
	public QuantModelParam(String modelCode, String paramCode, String paramName, String defaultValue,
			Boolean configurable) {
		this.modelCode = modelCode;
		this.paramCode = paramCode;
		this.paramName = paramName;
		this.defaultValue = defaultValue;
		this.configurable = configurable;
	}

	// Property accessors
	@GenericGenerator(name = "generator", strategy = "increment")
	@Id
	@GeneratedValue(generator = "generator")
	@Column(name = "id", unique = true, nullable = false)
	public Integer getId() {
		return this.id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	@Column(name = "model_code", length = 50)
	public String getModelCode() {
		return this.modelCode;
	}

	public void setModelCode(String modelCode) {
		this.modelCode = modelCode;
	}

	@Column(name = "param_code", length = 50)
	public String getParamCode() {
		return this.paramCode;
	}

	public void setParamCode(String paramCode) {
		this.paramCode = paramCode;
	}

	@Column(name = "param_name", length = 50)
	public String getParamName() {
		return this.paramName;
	}

	public void setParamName(String paramName) {
		this.paramName = paramName;
	}

	@Column(name = "default_value", length = 100)
	public String getDefaultValue() {
		return this.defaultValue;
	}

	public void setDefaultValue(String defaultValue) {
		this.defaultValue = defaultValue;
	}

	@Column(name = "configurable")
	public Boolean getConfigurable() {
		return this.configurable;
	}

	public void setConfigurable(Boolean configurable) {
		this.configurable = configurable;
	}

	
	private String value;

	@Transient
	public String getValue() {
		return value;
	}

	public void setValue(String value) {
		this.value = value;
	}

}